﻿using DefCore.Interfaces;
using DefCore.Tools;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DefCore.Core
{
    public class NoRouteFoundEventArgs : EventArgs
    {
        public DungeonPos Destination { get; set; }

        public NoRouteFoundEventArgs(DungeonPos dest)
        {
            this.Destination = dest;
        }
    }

    public class SelectableChangedEventArgs : EventArgs
    {
        public ISelectable Selectable { get; private set; }
        public bool IsSelected { get; private set; }

        public SelectableChangedEventArgs(ISelectable selectable, bool IsSelected)
        {
            this.Selectable = selectable;
            this.IsSelected = IsSelected;
        }
    }

    public class SelectionClickEventArgs : EventArgs
    {
        public ISelectable Selectable { get; set; }
        public DungeonPos Position { get; set; }

        public SelectionClickEventArgs(DungeonPos pos, ISelectable selectable = null)
        {
            this.Position = pos;
            this.Selectable = selectable;
        }
    }
}
